import axios from "axios"
// axios二次封装
// 第一，做全局的请求配置；
const ins = axios.create({
    baseURL: "http://localhost:3000/",
    timeout: 3000, // 接口多久没有返回数据就开始报错
})

// 第二，做全局的请求拦截；
ins.interceptors.request.use(
    function (config) {
        // 在发送请求之前做些什么
        // config.headers["auth"] = localStorage.getItem("token")
        // config.headers["Authorization"] = "Bearer " + localStorage.getItem("token")
        return config
    },
    function (error) {
        // 对请求错误做些什么
        return Promise.reject(error)
    }
)

// 第三，做全局的响应拦截
ins.interceptors.response.use(
    function (response) {
        // 2xx 范围内的状态码都会触发该函数。
        // 对响应数据做点什么
        return response.data
    },
    function (error) {
        // 超出 2xx 范围的状态码都会触发该函数。
        // 对响应错误做点什么
        return Promise.reject(error)
    }
)

export default ins